/**
 *  @author yinghui.zhang  资源模块管理
 */
 
Ext.ns("cn.christ.web.action.dict");
var moduleForm = cn.christ.web.action.dict.ModuleForm;

moduleForm = function(){
	var formPanel, win, swfupload;
	return {
		createFormPanel : function() {
			formPanel =  new Ext.form.FormPanel( {
							id : 'formPanel',
							name : 'formPanel',
							labelAlign : 'right',
							labelWidth : 65,
							padding : "10",
							defaultType : 'textfield',
							defaults : {
									anchor : '90%'
							},
							items : [ {
								fieldLabel : '模块名称',
								id:'name',
								name : 'name',
								allowBlank : false
							},
							{
							    fieldLabel : '上级模块',
								id:'parentresname',
								name:'parent.id',
								xtype : 'displayfield'
							},	
							{
								fieldLabel : '模块代码',
								id:'code',
								name : 'code',
								allowBlank : false
							},	
							{
								fieldLabel : '模块url',
								id:'url',
								name : 'url'
							},	
							new Ext.form.ComboBox({
								id : 'expend',
								name : 'expend',
								hiddenName : 'expend',
								store : new Ext.data.SimpleStore({
									fields : [ 'value', 'text' ],
									data : [ [ false, '收缩' ], [ true, '展开' ] ]
						        }),
								mode : 'local',
								triggerAction : 'all',
								valueField : 'value',
								displayField : 'text',
								value : false,
								fieldLabel : '是否展开',
								forceSelection : true,
								editable : false,
								typeAhead : true
							})
							 , {
								id : 'fatherId',
								name : 'parent.id',
								hidden : true
							}, {
								id : 'windowmode',
								name : 'windowmode',
								hidden : true
							},{
								id : 'id',
								name : 'id',
								hidden : true
							}, {
								id : 'sort',
								name : 'sort',
								fieldLabel:'序号',
								xtype:  'numberfield',
								allowBlank : false
							}]
					});
			return formPanel;
		},
		
		createWindow : function() {
			win =  new ExtWin({
						width : 420,
						height : 250,
						items : formPanel,
						buttons : [
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										var f = formPanel.getForm();
										if (f.isValid()){
											var mode = Ext.getCmp('windowmode').getValue();
											if (mode == 'add')
											{
											    moduleView.subForm('/module/add.action');
											}
											else
											{
												moduleView.subForm('/module/update.action');	
											}
										}
									}
								},{
									text : '关闭',
									iconCls : 'deleteIcon',
									handler : function() {
										win.hide();
									}
								} ]
					});
			return win;
		},
		
		createSwfUpload : function(){
			if( !swfupload ) {
				swfupload = new SwfWin({
					uploadConfig : {
						fileSize : '2MB',
						border : false,
						singleFile : true,//是否上传队列中只能放置一个文件
						fileTypes : '*.jpg;*.png;*.gif', // 在这里限制文件类型:'*.*'
						fileTypesDescription : '图片文件',
						postParams : {
							'uploaduser' : uploaduser //上传者
						} 
					},
					buttons : [
								{
									text : '确认',
									iconCls : 'acceptIcon',
									handler : function() {
									    	var ds  = UploadPanel.grid.getStore();
									    	var upnum =  ds.getCount();
									    	if( upnum == 0){
									    		Ext.Msg.alert('提示','上传列表中，不存在您要上传的文件！');
									    		return;
									    	}
									    	//因为是单文件上传，上传列表只存在一条记录 
									    	var r = ds.getAt(0);
									    	if (r.data.fileState == SWFUpload.FILE_STATUS.QUEUED
													|| r.data.fileState == SWFUpload.FILE_STATUS.IN_PROGRESS) {
									    		Ext.Msg.alert('提示','您所选的文件尚未上传！');
												return;
											}
									    	if(r.data.fileState == SWFUpload.FILE_STATUS.ERROR){
									    		Ext.Msg.alert('提示','文件未上传成功！');
												return;
									    	}
											var id = r.get('fileDbId');
											var path = r.get('fileServerPath');
											Ext.getCmp('imageFileName').setValue(id+'|'+path);
											swfupload.hide();
									}
								} ,{
									text : '取消',
									iconCls : 'deleteIcon',
									handler : function() {
										swfupload.hide();
									}
								} ]
				});
				
				swfupload.on('show',function(){
					 UploadPanel.grid.getStore().removeAll();
				});
				
			}
			return swfupload;
		} 
	}
}();